home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 September / PCWorld_2008-09_cd.bin / v cisle / sadanastroju / IE7proSetup_2.3.exe / IEProRes.dll / JS / RS.JS < prev   
Text File  |  2008-02-28  |  4KB  |  170 lines

  1. var baseMod = {};
  2. var sessionRestore={};
  3. sessionRestore.pageList=[];
  4. sessionRestore.autoClose=true;
  5. var localeTable = {
  6.     rs_title:    'Session Restore',
  7.     rs_subtitle:    'Please review and open the last visited URLs:',
  8.     rs_selectall:    'Select All',
  9.     rs_selectnone:    'Select None',
  10.     rs_closetab:    'Close this Tab',
  11.     rs_opentab:    'Open selected pages',
  12.     rs_autoclose:    'Close this Tab after open selected pages'
  13. };
  14.  
  15. sessionRestore.init=function() {
  16.     baseMod = PRO_baseMod();
  17.     sessionRestore.initLang();
  18.     sessionRestore.loadAutoClose();
  19.     sessionRestore.loadAutoClose();
  20.     sessionRestore.loadPageList();
  21.     sessionRestore.buildPageList();
  22. };
  23.  
  24. sessionRestore.initLang=function() {
  25.     for (var name in localeTable){
  26.         var str = baseMod.getString(name);
  27.         if(str != '') localeTable[name] = str;
  28.     }
  29.     try{
  30.     document.title = localeTable['rs_title'];
  31.     $('rs_subtitle').innerHTML = localeTable['rs_subtitle'];
  32.     $('rs_opentab').innerHTML = localeTable['rs_opentab'];
  33.     $('rs_closetab').innerHTML = localeTable['rs_closetab'];
  34.     $('rs_selectall').innerHTML = localeTable['rs_selectall'];
  35.     $('rs_selectnone').innerHTML = localeTable['rs_selectnone'];
  36.     $('rs_autoclose').innerHTML = localeTable['rs_autoclose'];
  37.     }catch(e){};
  38. };
  39.  
  40. sessionRestore.loadPageList=function() {
  41.     var urls = baseMod.getRestoreSession();
  42.     if(urls.length == 0) return;
  43.  
  44.     var ss = urls.split("\n");
  45.     for(var i=0;i<ss.length;i++) {
  46.         var ss2 = ss[i].split("|");
  47.         var url;
  48.         var title;
  49.         if(ss2.length > 1) {
  50.             url = ss2[0];
  51.             title = ss2[1];
  52.         } else {
  53.             url = ss2[0];
  54.             title = url;
  55.         }
  56.         var _e={};
  57.         _e.id=i;
  58.         _e.url=url;
  59.         _e.title=title;
  60.         _e.enabled=true;
  61.         sessionRestore.pageList[i] = _e;
  62.     }
  63. };
  64.  
  65. sessionRestore.buildPageList=function() {
  66.     var div=document.getElementById("pageList");
  67.     if(!div){
  68.         alert("sessionRestore: can not get obj 'pageList'");
  69.     }
  70.     var txt="";
  71.     for(var i=0;i<sessionRestore.pageList.length;i++){
  72.         var _a = sessionRestore.pageList[i];
  73.         txt += "<div class=\"pageList-item\">"+"<img src=\"img/btn_checked.png\" id=\"check_"+_a.id+"\" class=\"checkButton\" onclick=\"sessionRestore.togglePageItem("+_a.id+");\" />"+"  "+"<a id=\"link_"+_a.id+"\" href=\""+_a.url.$encodeHTML()+"\" target=\"_blank\" onclick=\"javascript:sessionRestore.linkOpened('"+_a.id+"');\">"+_a.title.$cut(100).$encodeHTML()+"</a>"+"</div>";
  74.     }
  75.     div.innerHTML=txt;
  76. };
  77.  
  78. sessionRestore.loadAutoClose=function(){
  79.     var val = baseMod.getRSAutoClose();
  80.     sessionRestore.autoClose=val;
  81.     var _e = document.getElementById("auto_close");
  82.     if(_e){
  83.         _e.checked=val;
  84.     }
  85. };
  86.  
  87. sessionRestore.toggleAutoClose=function(){
  88.     var e = document.getElementById("auto_close");
  89.     if(e.checked){
  90.         sessionRestore.autoClose=true;
  91.     }else{
  92.         sessionRestore.autoClose=false;
  93.     }
  94.     baseMod.setRSAutoClose(sessionRestore.autoClose);
  95. };
  96.  
  97. sessionRestore.togglePageItem=function(id) {
  98.     if(sessionRestore.pageList[id]){
  99.         var _a = sessionRestore.pageList[id];
  100.         _a.enabled=!_a.enabled;
  101.         sessionRestore.updatePageItemCheck(_a);
  102.     };
  103. };
  104.  
  105. sessionRestore.updatePageItemCheck=function(_a) {
  106.     var _e = document.getElementById("check_"+_a.id);
  107.     if(_e) {
  108.         if(_a.enabled) {
  109.             _e.src="img/btn_checked.png";
  110.         } else {
  111.             _e.src="img/btn_unchecked.png";
  112.         }
  113.     }
  114. };
  115.  
  116. sessionRestore.selectPages=function(val) {
  117.     for(var i=0;i<sessionRestore.pageList.length;i++){
  118.         var _a=sessionRestore.pageList[i];
  119.         if(val == 1){
  120.             _a.enabled=true;
  121.         } else if(val == 0){
  122.             _a.enabled=false;
  123.         } else {
  124.             _a.enabled=!_a.enabled;
  125.         }
  126.         sessionRestore.updatePageItemCheck(_a);
  127.     }
  128. };
  129.  
  130. sessionRestore.openPage=function(_a){
  131.     try{
  132.         baseMod.openInTab(_a.url);
  133.     }catch(e){
  134.         window.open(_a.url);
  135.     }
  136.     sessionRestore.updatePageItemStatus(_a);
  137. };
  138.  
  139. sessionRestore.openPages=function(){
  140.     var opened = false;
  141.     for(var i=0;i<=sessionRestore.pageList.length-1;i++){
  142.         if(sessionRestore.pageList[i].enabled){
  143.             opened = true;
  144.             sessionRestore.openPage(sessionRestore.pageList[i]);
  145.         }
  146.     }
  147.     if(sessionRestore.autoClose){
  148.         baseMod.closeTab(opened?1:0);
  149.     }
  150. };
  151.  
  152. sessionRestore.updatePageItemStatus=function(_a){
  153.     var _e=document.getElementById("link_"+_a.id);
  154.     if(_e){
  155.         _e.className="openedPageLink";
  156.     }
  157. };
  158.  
  159. sessionRestore.linkOpened=function(id){
  160.     var _e=sessionRestore.pageList[id];
  161.     if(_e) {
  162.         _e.enabled=false;
  163.         sessionRestore.updatePageItemCheck(_e);
  164.     }
  165. };
  166.  
  167. sessionRestore.closeTab=function() {
  168.     baseMod.closeTab(0);
  169. };
  170.